package com.lanchetech.dao;

import com.lanchetech.bean.request.ShareholderPerformancePageReq;
import com.lanchetech.bean.vo.PerformanceStatisticsVO;
import com.lanchetech.bean.vo.ShareholderPerformanceVO;import com.lanchetech.entity.ShareholderPerformance;
import java.util.Collection;import java.util.List;
import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;

@Mapper
public interface ShareholderPerformanceMapper {
    int deleteByPrimaryKey(Long id);

    int insert(ShareholderPerformance record);

    int insertSelective(ShareholderPerformance record);

    ShareholderPerformance selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(ShareholderPerformance record);

    int updateByPrimaryKey(ShareholderPerformance record);

    int updateBatchSelective(List<ShareholderPerformance> list);

    List<ShareholderPerformanceVO> findAllPage(ShareholderPerformancePageReq req);

    ShareholderPerformance findOneByStatusAndOrderSkuId(@Param("status") Byte status, @Param("orderSkuId") Long orderSkuId);

    List<ShareholderPerformance> findAllByStatusAndOrderSkuIdIn(@Param("status") Byte status, @Param("orderSkuIdCollection") Collection<Long> orderSkuIdCollection);

    PerformanceStatisticsVO sumShareholderPerformance(ShareholderPerformancePageReq req);
}